<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

<script>
    // 函数可以先调用后声明，这就是函数提升
    // 只有通过function声明的才会被提升，通过变量定义的不会被提升
    // 如果通过var定义函数，那么只会提升函数名，并不会提升函数体

    // 其实就相当于编译器会先把整体代码过一遍，注册好所有函数。然后再执行脚本代码，遇到函数调用，就查表寻找对应的函数位置。

    func()

    function func() {
        console.log("我是函数")
    }
    
</script>
    
</body>
</html>